草庐IT

Android ActivityManager 与 WindowManager

全部标签

Android12窗口模糊(二)在WindowManager的addView方法添加的视图中实现高斯模糊效果

前言在Android12中,提供了一些用于实现窗口模糊处理效果(例如背景模糊处理和模糊处理后方屏幕)的公共API。窗口模糊处理或跨窗口模糊处理用于模糊处理给定窗口后方的屏幕。有两种窗口模糊处理方式,可用于实现不同的视觉效果:背景模糊处理(Backgroundblur):可用于创建具有模糊背景的窗口,创造出磨砂玻璃效果,模糊区域是窗口。模糊处理后方屏幕(Blurbehind):可用于模糊处理(对话框)窗口后方的整个屏幕,创造出景深效果,模糊区域是整个屏幕。这两种效果可以单独使用,也可以组合使用,如下图所示:上面的三张效果图是谷歌官方所提供的效果图:(a)仅背景模糊处理(Backgroundblu

android - WindowManager 中的全屏

这是我的代码:params=newWindowManager.LayoutParams(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN,PixelFormat.TRANSLUCENT);wm=(WindowManager)getApplicationContext().get

android - WindowManager 中的全屏

这是我的代码:params=newWindowManager.LayoutParams(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN,PixelFormat.TRANSLUCENT);wm=(WindowManager)getApplicationContext().get

android - 跟踪添加到 WindowManager 的 View (没有 findViewById() 函数?)

在我的服务中,我使用addView()将View添加到WindowManager。当我准备好隐藏View时,我使用View引用调用removeView()。这很好用——大多数时候。我偶尔收到强制关闭报告说View未附加到WindowManager。这是有道理的。问题是我认为该服务被Android杀死了,当隐藏View时,它会尝试在错误的View上删除View。我已经尝试检查View是否为空,但显然它不是在这一点上,它根本不是附加到WindowManager的那个。看来如果View引用丢失了,就没有办法再次访问它了。我怎样才能在WindowManager本身上获得findViewById

android - 跟踪添加到 WindowManager 的 View (没有 findViewById() 函数?)

在我的服务中,我使用addView()将View添加到WindowManager。当我准备好隐藏View时,我使用View引用调用removeView()。这很好用——大多数时候。我偶尔收到强制关闭报告说View未附加到WindowManager。这是有道理的。问题是我认为该服务被Android杀死了,当隐藏View时,它会尝试在错误的View上删除View。我已经尝试检查View是否为空,但显然它不是在这一点上,它根本不是附加到WindowManager的那个。看来如果View引用丢失了,就没有办法再次访问它了。我怎样才能在WindowManager本身上获得findViewById

android - 使用 OnePlus One 上的服务拍照 - 使用 WindowManager hack

我正在尝试通过服务拍照而不向用户显示任何内容(无View)。这个问题之前已经被问过好几次了,我已经遍历了我能找到的所有内容。一些类似的问题:AndroidCamera.takePicturefailedAndroidcamerafailstotakephotofrombackgroundservice大多数问题都链接到其他问题,而不提供新的解决方案。我相信这是解决此问题的最佳方法:https://stackoverflow.com/a/10268650/3860594不幸的是,此人没有提供完整的答案,我无法重现他的方法。我想做的是在SurfaceHolder中创建一个SurfaceVi

android - MapView onTap 问题 : android. view.WindowManager$BadTokenException:无法添加窗口—— token null 不适用于应用程序

有similarquestions对此,但对于试图为MapView实现onTap事件的人(比如我)来说,问题出在哪里可能并不明显。问题/问题是这样的:您正在尝试在MapView中实现自定义的ItemizedOverlay,如下所示:MyCustomItemizedOverlaymOverlay=newMyCustomItemizedOverlay(drawable,mContext);通常,如果您是从Activity中执行此操作,则使用:MyCustomItemizedOverlaymOverlay=newMyCustomItemizedOverlay(drawable,this);这

android - 显示自定义对话框android时出现WindowManager BadTokenException

当我运行我的代码时,我得到这个错误::E/InputEventReceiver(1363):Exceptiondispatchinginputevent.:E/MessageQueue-JNI(1363):ExceptioninMessageQueuecallback:handleReceiveCallback:D/dalvikvm(1363):GC_CONCURRENTfreed1898K,30%free4921K/6992K,paused78ms+107ms,total413ms:E/MessageQueue-JNI(1363):android.view.WindowManager

安卓 M ClassCastException : FrameLayout$LayoutParams cannot be cast to WindowManager$LayoutParams

这段代码似乎适用于androidapi16-22,但不适用于api23。我只是想显示一个带有选项的弹出窗口,并使弹出窗口下方的背景变暗:WindowPopUpwindowPopUp=newWindowPopUp(mContext,mPlaces.get(position),position,fromSearch);windowPopUp.showAtLocation(v,Gravity.CENTER,0,0);Viewparent=(View)windowPopUp.getContentView().getParent();//dimthewindowinthebackgroundWi

android - 可以将事件传递到 TYPE_SYSTEM_ALERT 或类似层下的层的 WindowManager.LayoutParams 组合

谁能帮我获得WindowManager.LayoutParams组合,它可以将事件传递到TYPE_SYSTEM_ALERT或类似叠加类型(位于所有其他窗口的顶部)下的层。问题:我的问题是当窗口类型TYPE_SYSTEM_ALERT获得焦点时,它停止将运动事件传递给它下面的其他应用程序。示例代码WindowManager.LayoutParamsparams=newWindowManager.LayoutParams(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT,WindowManager.LayoutParams.FLAG_NOT_FOCUS